using System;
using System.Text;
using System.Reflection;
using System.ServiceModel;
using System.Collections.Generic;
using System.Runtime.Serialization;
using TDS = Tridion.ContentManager.Interop.TDS;
using TDSDefines = Tridion.ContentManager.Interop.TDSDefines;



#pragma warning disable 649
namespace Tridion.Gateway
{
	[DataContract]
	public class Info:Facade
	{
        internal Info(TDS.Info Info, bool ShallowCopy)
            : base(typeof(TDS._Info), Info, ShallowCopy)
		{
		}

		[DataMember(Name="ID")]
		private String id;
		public String ID
		{
			 get { return id; }
		}


		[DataMember(Name="ItemType")]
		private TDSDefines.ItemType itemtype;
		public TDSDefines.ItemType ItemType
		{
			 get { return itemtype; }
		}

  
        [DataMember(Name = "OwningPublication")]
        private PublicationURI owningpublication;
        public PublicationURI OwningPublication
        {
            get { return owningpublication; }
        }


		[DataMember(Name="IsShared")]
		private Boolean isshared;
		public Boolean IsShared
		{
			 get { return isshared; }
		}


		[DataMember(Name="IsLocalized")]
		private Boolean islocalized;
		public Boolean IsLocalized
		{
			 get { return islocalized; }
		}


		[DataMember(Name="Revisor")]
		private User revisor;
		public User Revisor
		{
			 get { return revisor; }
		}


		[DataMember(Name="Creator")]
		private User creator;
		public User Creator
		{
			 get { return creator; }
		}


		[DataMember(Name="LockType")]
		private TDSDefines.LockType locktype;
		public TDSDefines.LockType LockType
		{
			 get { return locktype; }
		}


		[DataMember(Name="IsCheckedOut")]
		private Boolean ischeckedout;
		public Boolean IsCheckedOut
		{
			 get { return ischeckedout; }
		}


		[DataMember(Name="CreationDate")]
		private DateTime creationdate;
		public DateTime CreationDate
		{
			 get { return creationdate; }
		}


		[DataMember(Name="RevisionDate")]
		private DateTime revisiondate;
		public DateTime RevisionDate
		{
			 get { return revisiondate; }
		}


		[DataMember(Name="Version")]
		private Int32 version;
		public Int32 Version
		{
			 get { return version; }
		}


		[DataMember(Name="Revision")]
		private Int32 revision;
		public Int32 Revision
		{
			 get { return revision; }
		}


		[DataMember(Name="IsNew")]
		private Boolean isnew;
		public Boolean IsNew
		{
			 get { return isnew; }
		}


		[DataMember(Name="CheckOutUser")]
		private User checkoutuser;
		public User CheckOutUser
		{
			 get { return checkoutuser; }
		}


		[DataMember(Name="CheckOutUserName")]
		private String checkoutusername;
		public String CheckOutUserName
		{
			 get { return checkoutusername; }
		}


		[DataMember(Name="CheckOutDate")]
		private DateTime checkoutdate;
		public DateTime CheckOutDate
		{
			 get { return checkoutdate; }
		}


		[DataMember(Name="WebDAVURL")]
		private String webdavurl;
		public String WebDAVURL
		{
			 get { return webdavurl; }
		}


		[DataMember(Name="Path")]
		private String path;
		public String Path
		{
			 get { return path; }
		}


		[DataMember(Name="PublishPath")]
		private String publishpath;
		public String PublishPath
		{
			 get { return publishpath; }
		}


		[DataMember(Name="PublishLocationPath")]
		private String publishlocationpath;
		public String PublishLocationPath
		{
			 get { return publishlocationpath; }
		}


		[DataMember(Name="PublishLocationUrl")]
		private String publishlocationurl;
		public String PublishLocationUrl
		{
			 get { return publishlocationurl; }
		}



        protected override void Initialize(FieldInfo field, PropertyInfo property, Object value)
        {

        }

	}
}

/*
			System.String GetListUsingItems(Tridion.ContentManager.Interop.TDSDefines.ListColumnFilter, Tridion.ContentManager.Interop.TDS.ListRowFilter)
			System.String GetListUsedItems(Tridion.ContentManager.Interop.TDSDefines.ListColumnFilter, Tridion.ContentManager.Interop.TDS.ListRowFilter)
			Boolean HasUsingItems(Tridion.ContentManager.Interop.TDS.Publication, Int32)
*/
